import { createRouter, createWebHashHistory } from 'vue-router'
import Product from '../views/Product.vue'

const router = createRouter({
  history: createWebHashHistory(),
  routes: [
    {
      path: '/home',
      redirect: '/'
    },
    {
      path: '/',
      name: 'home',
      component: () => import('@/views/HomeView.vue'),
      children: []
    },
    {
      path: '/Product',
      name: 'Product',
      component: Product,
    },
    {
      path: '/Advertise',
      name: 'Advertise',
      component: () => import('@/views/Advertise.vue'),
    },
    {
      path: '/Abstract',
      name: 'Abstract',
      component: () => import('@/views/Abstract.vue'),
    },
  ],
  scrollBehavior(to, from, savedPosition) {
    // 如果有保存的位置（比如浏览器后退），则返回保存的位置
    if (savedPosition) {
      return savedPosition;
    }
    // 默认滚动到顶部
    return { top: 0 };
  },
})

// 添加路由守卫
router.beforeEach((to, from, next) => {
  // 判断是否是首页
  if (to.path === '/') {
    // 如果是首页，执行监听 scroll 事件
    myFunction(true);
  } else {
    // 如果不是首页，取消 scroll 事件监听
    myFunction(false);
  }

  // 必须调用 next() 来继续导航
  next();
});

// 需要执行的函数
function myFunction(isHome) {
  if (isHome) {
    // 进入首页，开始监听滚动事件
    window.onscroll = function () {
      var t = document.documentElement.scrollTop || document.body.scrollTop
      if (t >= 28) {
        $('.navbar').addClass('active')
      } else {
        $('.navbar').removeClass('active')
      }
    }
  } else {
    // 离开首页，取消监听滚动事件
    window.onscroll = null;
  }
}

export default router
